package com.hsy.crm.web.mapper;

import com.hsy.crm.web.config.CrmMapper;
import com.hsy.crm.web.domain.entity.Order;
import com.hsy.crm.web.domain.entity.OrderDetail;
import com.hsy.crm.web.domain.po.order.*;
import com.hsy.crm.web.domain.po.stoneProduct.StoneProductPagePo;
import com.hsy.crm.web.domain.vo.order.OrderGetVo;
import com.hsy.crm.web.domain.vo.order.OrderPageVo;
import com.hsy.crm.web.domain.vo.stoneProduct.StoneProductPageVo;

import java.util.List;

public interface OrderMapper extends CrmMapper<Order> {

    List<OrderPagePo> pagePur(OrderPageVo orderPageVo);

    OrderGetPo getOrderPur(OrderGetVo orderGetVo);

    List<OrderPagePo> pageMar(OrderPageVo orderPageVo);

    OrderGetPo getOrderMar(OrderGetVo orderGetVo);

    List<OrderDetailGetPo> getOrderDetail(OrderGetVo orderGetVo);

    List<OrderAccountPo> getOrderAccount(OrderGetVo orderGetVo);

    List<SumNumberPo> getOrderSumNumber(Order order);

    List<OrderResubjectPo> getOrderResubjects(OrderGetVo orderGetVo);

    //Store product

    List<OrderDetail> getOrderDetails(Order order);

    List<StoneProductPagePo> storePage(StoneProductPageVo orderPageVo);

    // debt money
    int updateVendorDebt(Order order);

    int updateCustomerDebt(Order order);

    Integer getJhNumber(OrderDetail orderDetail);
}
